查看原文
其他

快速参与下一代数据湖顶级项目ApacheHudi

hudi ApacheHudi 2022-04-23

1. 介绍

数据湖作为下一代技术,概念持续火热,国内外已经有越来越多的公司开始调研并采用 ApacheHudi。开发者对于新的 feature、发现的 bug、对项目的 question等, Hudi社区都鼓励开发者通过邮件列表、提 JiraIssuePR等方式参与社区,这样能形成良好的社区氛围,促进社区快速发展。对于想要参与社区开发但还不知道如何参与的开发者,本篇文章给出了指引。

2. 准备

若开发者之前已经参与过Apache社区的其他项目,对此流程应该非常熟悉,可略过余下部分,直接提出你的第一个Hudi PR!

2.1 账号准备

  • Github账号,作为开发者理应人手一个。

  • JIRA账号,基本上所有 Apache项目都通过 jira跟踪管理 featurebug,可通过如下地址https://issues.apache.org/jira/secure/Signup!default.jspa注册 jira账号。

2.2 PR准备

  • 为鼓励开发者快速参与 Hudi社区,社区会将一些简单任务标记为 starternewbie,可通过这里(https://issues.apache.org/jira/issues/?jql=project+%3D+HUDI+AND+component+%3D+newbie)查找新手任务,对于未修复的 jira单,用户可 assign给自己,对于较大功能修改或bug修复,可先在页面上与其他开发者讨论具体实现思路,确保思路可行并达到统一后再开始编码。

  • Fork https://github.com/apache/incubator-hudi/ 到自己的仓库(可顺手star)。

  • Clone自己仓库的 incubator-hudi到本地。

  • cd incubator-hudi 进入本地项目根目录。

  • git remote add upstream https://github.com/apache/incubator-hudi.gitapache仓库 incubator-hudi添加为 upstream。后续可使用 git fetch upstream master,git merge upstream/master,git push origin master来同步 apache仓库 master分支的修改至自己远程仓库的 master分支,当然也可以选择其他工作流,如将 apache仓库的项目添加为 origin,自己仓库的项目添加为 upstream,同步仓库的修改操作也类似。

  • 基于 Apache仓库的 master分支最新代码, checkout新分支(一般建议根据 jira号创建,如 git checkout-b HUDI-666)。

  • 在新分支上修改代码,完成修改后使用 git add.git commit-m"[HUDI-666] pr description"git push origin HUDI-666:HUDI-666推至自己仓库的远端, commit信息一般建议使用 [HUDI-xxx]jira summary的格式,如 git commit-m"[HUD-666] refactor hudi-common based on new checkstyle"

  • 进入 githubincubator-hudi页面发起一个 PR,然后等待 review(社区会有专人进行 review,效率较高)和 merge

2.3 加入Slack

为方便 Hudi开发者快速交流, Hudi社区创建了 HudiSlackChannel,可在这里https://github.com/apache/incubator-hudi/issues/143留下你的邮箱,会有人邀请你加入 HudiSlackChannel

2.4 订阅邮件列表

为方便归档和符合 Apache社区运行之道,社区建议使用邮件列表讨论问题、进行投票等,可订阅dev@hudi.apache.org(建议尽量不要使用qq邮箱订阅,可能会被过滤掉)。

订阅方式很简单,给dev-subscribe@hudi.apache.org发送一封邮件,收到回复后再进行一次确认回复即可。完成订阅后即可参与和发起在dev@hudi.apache.org的讨论。

3. 总结

Hudi社区非常欢迎和鼓励广大开发者参与到社区建设中来,一起促进 Hudi社区的发展,取之开源、回馈开源,一起促进数据湖技术的发展,期待你的第一个PR!

PS:其他Apache项目的参与流程也大致类似。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存